﻿#pragma warning(disable: 4996)
#pragma warning(disable: 6031)

/*
本题要求编写程序，计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一项的绝对值不大于给定精度eps。

输入格式:
输入在一行中给出一个正实数eps。

输出格式:
在一行中按照“sum = S”的格式输出部分和的值S，精确到小数点后三位。题目保证计算结果不超过双精度范围。

输入样例:
10
输出样例:
sum = 0.819
*/

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int n;
double eps;

read_data()
{
	scanf("%lf", &eps);
}

double Sum(int n)
{
	double s = 0;
	double k = 1;
	double v = 0;
	double sgn = 1;
	int i = 0;
	do
	{
		v = 1 / k;
		s += sgn * v;
		sgn = -sgn;
		if (v < eps)
			break;
		k += 3;
	} while (v > eps);
	return s;
}

void solve()
{
	read_data();
	printf("sum = %.6f", Sum(n));
}

int main()
{
	freopen("D:/Develop/GitRepos/MOOC/浙江大学/数据结构/201906/DataStructure/M2019秋C入门和进阶练习集/7-77.txt", "r", stdin);
	solve();
	return 0;
}
